/*
using MyGeneration/Template/NHibernate (c) by lujan99@usa.net
*/
using System;
using System.Collections;
using System.Collections.Generic;

using NHibernate;
using BubzCommerce.CMS.Data.Base;

namespace BubzCommerce.CMS.Data.BusinessObjects
{
	/// <summary>
	/// SitetreeLive object for NHibernate mapped table 'sitetree_live'.
	/// </summary>
	[Serializable]
    public partial class SitetreeLive : BusinessBase<int>
	{
		#region Member Variables
		protected int _id;
		protected string _classname;
		protected string _title;
		protected string _menutitle;
		protected string _sitecontent;
		protected string _metatitle;
		protected string _metadescription;
		protected string _metakeywords;
		protected bool _showinmenus;
		protected bool _showinsearch;
		protected int _sort;
		protected DateTime _created;
		protected DateTime _edited;
		protected SitetreeLive _sitetreelivemember;
		#endregion
		#region Constructors
			
		public SitetreeLive() {}
					
		public SitetreeLive(int id, string classname, string title, string menutitle, string sitecontent, string metatitle, string metadescription, string metakeywords, bool showinmenus, bool showinsearch, int sort, DateTime created, DateTime edited) 
		{
			this._id= id;
			this._classname= classname;
			this._title= title;
			this._menutitle= menutitle;
			this._sitecontent= sitecontent;
			this._metatitle= metatitle;
			this._metadescription= metadescription;
			this._metakeywords= metakeywords;
			this._showinmenus= showinmenus;
			this._showinsearch= showinsearch;
			this._sort= sort;
			this._created= created;
			this._edited= edited;
		}

		public SitetreeLive(int id, string classname)
		{
			this._id= id;
			this._classname= classname;
		}
		
		#endregion
		#region Public Properties
		public  virtual int Id
		{
			get { return _id; }
			set {_id= value; }
		}
		public  virtual string ClassName
		{
			get { return _classname; }
			set {_classname= value; }
		}
		public  virtual string Title
		{
			get { return _title; }
			set {_title= value; }
		}
		public  virtual string MenuTitle
		{
			get { return _menutitle; }
			set {_menutitle= value; }
		}
		public  virtual string SiteContent
		{
			get { return _sitecontent; }
			set {_sitecontent= value; }
		}
		public  virtual string MetaTitle
		{
			get { return _metatitle; }
			set {_metatitle= value; }
		}
		public  virtual string MetaDescription
		{
			get { return _metadescription; }
			set {_metadescription= value; }
		}
		public  virtual string MetaKeywords
		{
			get { return _metakeywords; }
			set {_metakeywords= value; }
		}
		public  virtual bool ShowInMenus
		{
			get { return _showinmenus; }
			set {_showinmenus= value; }
		}
		public  virtual bool ShowInSearch
		{
			get { return _showinsearch; }
			set {_showinsearch= value; }
		}
		public  virtual int Sort
		{
			get { return _sort; }
			set {_sort= value; }
		}
		public  virtual DateTime Created
		{
			get { return _created; }
			set {_created= value; }
		}
		public  virtual DateTime Edited
		{
			get { return _edited; }
			set {_edited= value; }
		}
		public  virtual SitetreeLive SitetreeLiveMember
		{
			get { return _sitetreelivemember; }
			set {_sitetreelivemember = value; }
		}
		#endregion
		
		#region Equals And HashCode Overrides
		/// <summary>
		/// local implementation of Equals based on unique value members
		/// </summary>
		public override bool Equals( object obj )
		{
			if( this == obj ) return true;
			if( ( obj == null ) || ( obj.GetType() != this.GetType() ) ) return false;
			SitetreeLive castObj = (SitetreeLive)obj;
			return ( castObj != null ) &&
			this._id == castObj.Id;
		}
		/// <summary>
		/// local implementation of GetHashCode based on unique value members
		/// </summary>
		public override int GetHashCode()
		{
			int hash = 57;
			hash = 27 * hash * _id.GetHashCode();
			return hash;
		}
		#endregion
		
	}
}
